/**
*   Copyright (C) 2011  Xu Cheng, Yang Zhengyu ,Zuo Zhiheng
*
*   This program is free software: you can redistribute it and/or modify
*   it under the terms of the GNU General Public License as published by
*   the Free Software Foundation, either version 3 of the License, or
*   (at your option) any later version.
*
*   This program is distributed in the hope that it will be useful,
*   but WITHOUT ANY WARRANTY; without even the implied warranty of
*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*   GNU General Public License for more details.
*
*   You should have received a copy of the GNU General Public License
*   along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
///:Data.h
#ifndef DATA_H
#define DATA_H

#include "CoreMgr.h"
#include "VolumeMgr.h"
#include "Memory.h"
#include "Moniter.h"
#include "../util/ConfigDB.h"
#include "../util/MasterDB.h"
#include "../util/PathDB.h"
#include "../ui/Language.h"
#include "../ui/IconCache.hpp"

// link the global data.
extern CoreMgr *data_coreMgr;
extern MemoryPool *data_MemPool;
extern VolInfoMgr *data_VolInfos;
extern VolHandleMgr *data_VolHandles;
extern ConfigDB *data_configDB;
extern MasterDB *data_masterDB;
extern PathDB *data_pathDB;
extern Moniter *data_Moniter;
extern Language *uidata_Lang;
extern IconCache *uidata_iconCahe;

// global data associated function
void InitGlobalData();        // initial data
void DestroyGlobalData(); // free data

#endif
///:~